home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Libraries / CommToolbox classes / Headers / CConnection.h next >
Text File  |  1993-03-05  |  3KB  |  109 lines

  1. /* ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
  2.  
  3.     CConnection.h
  4.     
  5.     CommToolbox connection class.
  6.     
  7.     SUPERCLASS = CBureaucrat.
  8.     
  9.     Copyright © 1992-93 Romain Vignes. All rights reserved.
  10.     
  11. ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ */
  12.  
  13. #define _H_CConnection
  14.  
  15.  
  16. #include <CBureaucrat.h>                /* Interface for its superclass */
  17.  
  18. #include <Connections.h>                /* Apple includes */
  19.  
  20.  
  21. /* Connection specific commands */
  22.  
  23. #define cmdConnChoose    2100            /* Connection setup */
  24. #define cmdConnOpen        2101            /* Connection opening */
  25. #define cmdConnClose    2102            /* Connection closing */
  26. #define cmdConnReset    2103            /* Connection reset */
  27. #define cmdConnBreak    2104            /* BREAK signal sending */
  28. #define cmdConnListen    2105            /* Connection listening */
  29.  
  30.  
  31. /* Broadcast indications */
  32.  
  33. enum    {
  34.     connOpenInd = 2101,
  35.     connCloseInd
  36. };
  37.  
  38.  
  39. /* Forward Declarations */
  40.  
  41. class CCluster;
  42.  
  43.  
  44. /* Class definition */
  45.  
  46. class CConnection : public CBureaucrat    {
  47.  
  48. protected:
  49.  
  50.     /* Class Variables */
  51.     
  52.     static CCluster    *cConnList;
  53.  
  54.     /* Instance Variables */
  55.  
  56.     ConnHandle        itsConn;
  57.     Boolean            connOpen;
  58.     
  59.     virtual OSErr    getStatus(CMBufferSizes *sizes,CMStatFlags *flags);
  60.     
  61. public:
  62.  
  63.     /* Instance Variables */
  64.  
  65.     Boolean            active;
  66.     
  67.     /* Class Methods */
  68.     
  69.     static Boolean    cIsConnectionCmd(long theCmd);
  70.     static OSErr    cCheckToolName(Str31 toolName);
  71.     static void        cConnIdle(void);
  72.     static void        cInitManager(void);
  73.     static short    cGetCMVersion(void);
  74.  
  75.  
  76.     /* Instance Methods */
  77.     
  78.     void            IConnection(CBureaucrat *aSupervisor,Str31 toolName,
  79.                         CMRecFlags flags,CMBufferSizes desiredSizes,
  80.                         long refcon, long userData);
  81.     virtual void    Dispose(void);
  82.     virtual void    UpdateMenus(void);
  83.     virtual void    DoCommand(long theCommand);
  84.     virtual void    ConnectionChoose(void);
  85.     virtual short    SetConfig(char *theConfig);
  86.     virtual Ptr        GetConfig(void);
  87.     virtual void    OpenConnection(Boolean async,ProcPtr completor,long timeOut);
  88.     virtual void    ListenConnection(Boolean async,ProcPtr completor,long timeOut);
  89.     virtual void    CloseConnection(Boolean async,ProcPtr completor,long timeOut,
  90.                         Boolean now);
  91.     virtual Boolean    IsOpen(void);
  92.     virtual long    DataAvail(void);
  93.     virtual OSErr    DataRead(Ptr inBuffer,long *buffSize,Boolean async,
  94.                         ProcPtr completor,long timeOut,CMFlags *flags);
  95.     virtual void    DoIdle(void);
  96.     virtual OSErr    DataWrite(Ptr inBuffer,long *buffSize,Boolean async,
  97.                         ProcPtr completor,long timeOut,CMFlags flags);
  98.     virtual void    Activate(void);
  99.     virtual void    Deactivate(void);
  100.     virtual void    Reset(void);
  101.     virtual void    SendBreak(void);
  102.     virtual OSErr    GetEnvirons(ConnEnvironRecPtr theEnvirons);
  103.     virtual void    GetToolName(Str31 toolName);
  104.  
  105. };
  106.  
  107.  
  108. /* ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ */
  109.